package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         88,
		Discription: "合并两个有序数组",
		Level:       1,
		Labels: map[string]int{
			"双指针滑动": 1,
		},
	})
}

// MergeArray 从数组最后从大到小合并，能省掉第一个数组的空间
//  @param nums1
//  @param m
//  @param nums2
//  @param n
func MergeArray(nums1 []int, m int, nums2 []int, n int) {
	p1 := m - 1
	p2 := n - 1
	for i := len(nums1) - 1; i >= 0; i-- {
		if p1 < 0 {
			nums1[i] = nums2[p2]
			p2--
			continue
		}

		if p2 < 0 {
			nums1[i] = nums1[p1]
			p1--
			continue
		}

		if nums1[p1] >= nums2[p2] {
			nums1[i] = nums1[p1]
			p1--
		} else {
			nums1[i] = nums2[p2]
			p2--
		}
	}
}
